/*
 * Copyright 2008 Federal Emergency Management Agency
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *    http://www.apache.org/licenses/LICENSE-2.0 
 *    
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 *  
 */
package gov.fema.hazus.bdc.server.dto;

import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class DTO_FloodBuildingDesign extends DTO_AbstractPersistentEntity {

	private static final long serialVersionUID = -1607265302135915335L;
	
	@Persistent private String postFIRMConstruction;
	@Persistent private String constructionClass;
	@Persistent private String buildingCondition;
	@Persistent private String substructureType;
	@Persistent private Integer lowestFloorElevation;
	@Persistent private String topBottomFloor;
	@Persistent private String lowestFloorBelowGrade;
	@Persistent private Integer mechanicalEquipmentHeight;
	
	
	// constants
	public static final String POSTFIRMCONSTRUCTION = "post FIRM construction";
	public static final String CONSTRUCTIONCLASS = "construction class";
	public static final String BUILDINGCONDITION = "building condition";
	public static final String SUBSTRUCTURETYPE = "substructure type";
	public static final String LOWESTFLOORELEVATION = "lowest floor elevation";
	public static final String TOPBOTTOMFLOOR = "top bottom floor";
	public static final String LOWESTFLOORBELOWGRADE = "lowest floor below grade";
	public static final String MECHANICALEQUIPMENTHEIGHT = "mechanical equipment height";
	
	public DTO_FloodBuildingDesign()
	{
		lowestFloorElevation = new Integer(0);
		mechanicalEquipmentHeight = new Integer(0);
	}

	public String getBuildingCondition() {
		return buildingCondition;
	}

	public void setBuildingCondition(String buildingCondition) {
		this.buildingCondition = buildingCondition;
	}

	public String getLowestFloorBelowGrade() {
		return lowestFloorBelowGrade;
	}

	public void setLowestFloorBelowGrade(String lowestFloorBelowGrade) {
		this.lowestFloorBelowGrade = lowestFloorBelowGrade;
	}

	public Integer getMechanicalEquipmentHeight() {
		return mechanicalEquipmentHeight;
	}

	public void setMechanicalEquipmentHeight(Integer mechanicalEquipmentHeight) {
		this.mechanicalEquipmentHeight = mechanicalEquipmentHeight;
	}

	public Integer getLowestFloorElevation() {
		return lowestFloorElevation;
	}

	public void setLowestFloorElevation(Integer lowestFloorElevation) {
		this.lowestFloorElevation = lowestFloorElevation;
	}



	public String getPostFIRMConstruction() {
		return postFIRMConstruction;
	}

	public void setPostFIRMConstruction(String postFIRMConstruction) {
		this.postFIRMConstruction = postFIRMConstruction;
	}

	public String getConstructionClass() {
		return constructionClass;
	}

	public void setConstructionClass(String constructionClass) {
		this.constructionClass = constructionClass;
	}

	public String getSubstructureType() {
		return substructureType;
	}

	public void setSubstructureType(String substructureType) {
		this.substructureType = substructureType;
	}

	public String getTopBottomFloor() {
		return topBottomFloor;
	}

	public void setTopBottomFloor(String topBottomFloor) {
		this.topBottomFloor = topBottomFloor;
	}

	public String toString()
	{
		String str = "";
		str += "[flood-building-design";
		str += "[building-condition="+this.buildingCondition+"]";
		str += "[substructure-type="+this.substructureType+"]";
		str += "[lowest-floor-elevation="+this.lowestFloorElevation+"]";
		str += "[top-bottom-floor="+this.topBottomFloor+"]";
		str += "[lowest-floor-below-grade="+this.lowestFloorBelowGrade+"]";
		str += "[mechanical-equipment="+this.mechanicalEquipmentHeight+"]";
		str += "]";
		return str;
	}	
	
}
